x86/mm: Move p2m type into bits of the PTE that the IOMMU doesn't use.
authorWei Wang <wei.wang2@amd.com>
Mon, 18 Apr 2011 16:24:21 +0000 (17:24 +0100)
committerWei Wang <wei.wang2@amd.com>
Mon, 18 Apr 2011 16:24:21 +0000 (17:24 +0100)
commitd5688e96d6c0518f434fffbed6b4288a9a7c12da
tree17d59e7b825c18b03c1a80f78fa32eee5b07e198
parent6b135a421024a8a1439b4b30c84954160ace316b
x86/mm: Move p2m type into bits of the PTE that the IOMMU doesn't use.

AMD IOMMU hardware uses bit 9 - bit 11 to encode lower page levels. p2m
type bits in p2m flags has to be shifted from bit 9 to bit 12.  Also,
bit 52 to bit 60 cannot be non-zero for iommu pde. So, the definition of
p2m_ram_rw has to be swapped with p2m_invalid.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Acked-by: Tim Deegan <Tim.Deegan@citrix.com>
Committed-by: Tim Deegan <Tim.Deegan@citrix.com>
xen/arch/x86/mm/p2m.c
xen/include/asm-x86/p2m.h